<div id="content">
<h2>About</h2>
<p><i>Padb</i> is a <b>Job Inspection Tool</b> for examining and
debugging parallel programs, primarily it simplifies the process of
gathering stack traces on compute clusters however it also supports a wide range of other functions.
<i>Padb</i> supports a number of parallel environments and it works out-of-the-box on the majority of
clusters.  It's an
open source, non-interactive, command line, script-able tool intended
for use by programmers and system administrators alike.</p>

<p>
<i>Padb</i> is developed and maintained by
<a href="mailto:ashley@pittman.co.uk">Ashley Pittman</a>.</p>

<table class="news" width="70%" cellspacing="0" cellpadding="5" border="1" align="center">
<tr><td>

<a name=news><h2 align="center">Recent News</h2></a>

<ul>
 <li><font size="+2"><b>06-10-09</b>: Final 3.0 release avaliable for download</font></a>
 <li><b>15-09-09</b>: 3.0-rc2 avaliable for download</a>
 <li><b>01-09-09</b>: A 3.0-rc release is avaliable to download from the
  <a href="download.html">downloads page</a>.
 <li><b>25-06-09</b>: A 2.5 stable release (version 2.5) is avaliable to download from the
  <a href="download.html">downloads page</a>.
  </li>
</ul>
</td></tr>
</table>

<h2>Features</h2>
The following <a href="modes.html">modes</a> of operation are supported:
<ul>
<li>Stack trace generation</li>
<li>MPI Message queue display</li>
<li>Deadlock detection and collective state reporting</li>
<li>Process interrogation</li>
<li>Signal forwarding/delivery</li>
<li>MPI collective reporting</li>
<li>Job monitoring</li>
</ul>

<h2>What padb can't do</h2>
<i>Padb</i> is a job inspection tool, it can tell you want you want
to know about your job and your MPI stack, it will not, however, tell
you about your cluster as a whole and it won't diagnose problems
with your wider environment, including you job launcher or runtime
environment.  <i>Padb</i>
does not launch or wrap your jobs for you, it is not a job harness but
rather attaches to or targets jobs which are already running.

<h2>License</h2>
<i>padb</i> is licensed under the
<a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a> and as such is
open-source and free to use and modify.

<h2>History</h2>
<i>Padb</i> was originally conceived by software developers at
<a href="http://www.quadrics.com/">Quadrics</a> around 2004 to solve the
kind of problems facing them at the time.  It's been a part of the
Quadrics software stack for a number of years and has recently been
made available to a wider audience.  It has been commercially supported
for a number of years and is known to work at a scale of tens of thousands of
processes.

<h2>Parallel Environments</h2>
<i>Padb</i> works and is supported on the following parallel
environments and MPI stacks.  Not all features are available on all
runtimes.
<ul>
<li><a href="http://www.quadrics.com/">Quadrics RMS</a></li>
Runs natively on clusters running RMS.
<li><a href="https://computing.llnl.gov/linux/slurm">Slurm</a></li>
Runs natively on clusters running Slurm irrespective of the runtime used.
<li><a href="http://www.open-mpi.org/">Open MPI</a></li>
Supports orte or OpenMPI jobs run under slurm.
<li><a href="http://www.mcs.anl.gov/mpi/mpich/">MPICH2</a></li>
Supports mpd or MPICH2 jobs run under slurm.
</ul>
<p>In addition padb can be told to target individual UNIX processes.

<h2>Prerequisites</h2>
<i>Padb</i> requires very little support from the OS or parallel
environment to run, it's main use is to assist in the debugging of
parallel applications, it's therefore assumed that you have a working MPI
stack or other parallel environment and that "Hello world" application runs to completion without
error.<br>  A <i>Linux</i> operating system is assumed and a working
<i>gdb</i> is required for stack trace functionality.<br>
</div>
<div id="footer">
 <hr>
 <center>
 <font size="-2">
  <p>Page maintained by Ashley Pittman. $Date: 2009-10-06 16:38:43 +0000 (Tue, 06 Oct 2009) $ $Revision: 275 $</p>
 </font>
 <center>
</div>
